Tree-Dialog Decision Tree Inference

Tree-Dialog is a special Tree-driven user interface mode available as an option from release 9.5 (JavaScript Engine Deployment only). In this mode, Questions encountered in tree path at runtime are automatically grouped on a single Dialog (as opposed to being captured by one dialog at a time). The size and content of the tree-driven Dialog is therefore dynamic and extends as the Tree-Dialog inference unfolds. The following Tree-Dialog Decision Tree Object will render the web page shown below at runtime.

Tree Dialog Design

The default Knowledge Module Template includes a pre-configured Base Class called "Tree_Dialog". "Tree_Dialog" Objects can be used to define a tree-driven Dialog (under the "Tree_Dialogs" Category). The following is how a Tree-Dialog Base Class or Object can be configured.

Tree Dialog Inference

Collapsing & Expanding Previously Answered Questions

As an alternative to vertically extending the top-Dialog to show all answered questions, the groupPreviousAnswers property of the top-level Tree-Dialog can be set to collapse answered questions and only show the last unanswered question. These answers questions can be expanded to see and change their value.

If the (groupPreviousAnswers) property of a Tree-Dialog Object is set to 'Above' or 'Below' then the panels of previously captured answers are 'collapsed' under a special 'Previous Answers' panel can be expanded by the user to see a summary (question's description property value & current value).

If the previousAnswersReadOnly=False then each previous answer panel can also be expanded to re-visit that question's embedded dialog to edit its existing value.

The "Previous Answers" caption can be set in Knowledge Module Settings tab.

Storing Captured Tree-Dialog Data

The @EncodeDataXML command can be invoked following Tree Dialog inference to encode all the values of all the Attributes that were captured during the Tree Dialog inference.

Note that if the runtime user re-answers an earlier Question which leads down a different inference path, then any answered Questions that are not on the new path will not be part of the encoded data.

The @EncodeDataXML command also encodes the value of the Tree-Dialog object itse (unlike standard decision inference). e.g. (Room_Details) in the following example:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<data>
  
  <Room_Type>Bathroom</Room_Type>
  <Legnth>11</Legnth>
  <Width>6</Width>
  <Height>3</Height>
</data>

Multi-Instance Tree Dialogs

This feature allows the runtime user to invoke the same "Tree Dialog" Object multiple times with the session automatically maintaining the captured data set for each instance separately.

This feature can be utilised by adding a SubDialog Control tiedDialog property is set to a "Tree Dialog" Object (or by drag & drop of the Tree Dialog from the Knowledge Explorer pane on to the Dialog editor). This SubDialog Control has special Add, Edit & Delete buttons.

When the Dialog is invoked at runtime the user can click the Add button to invoke the "Tree Dialog" Object. This can be repeated any number of times and all the Attribute values captured during each Add operation is retained as separate data instance, providing Multiple-instances of the data captured by the "Tree Dialog" Object. The Edit operation can be used to re-invoke any existing instance.

The SubDialog Control has the following relevant properties